基于 GraphPad Prism 的火山图绘制
软件信息
此文中使用的 GraphPad Prism 版本为 9.4.1,获取方式请自寻,请支持正版。
需要准备的文件:差异表达分析结果表格。
9.0 以上版本的 GraphPad Prism 已经支持火山图绘制,但是绘图效果并没有利用散点图绘制来的好,因此这篇文还是通过散点图的方式来实现火山图绘制,如果想要试试 Prism 自带的火山图可以在点开 Prism 时选择 Graph Portfolio 里的 Volcano Plot 进行:
更新日志
2023.07.07 精简了内容,增加了题外话。
绘图过程
在进行绘图之前,需要先筛选出 |log2FC| > 1
以及 adjustp < 0.05
的点(可以选用不同的阈值),然后将它们的 log2FC
放在新的一列,最后效果应该如下所示:
具体的实现过程可以通过 Python 脚本或者 R 进行,处理以后的表格用来绘制火山图。
点进 GraphPad Prism 后,选择最上方的 XY,各项选择如图:
生成表格后,导入差异表达分析结果(复制黏贴整个表格即可),此后删掉除了所需要的数据以外的列,最后如下图:
其中第一列为基因的 ID,第二列即 X 为各个基因的 log2FoldChange
值,后面三列 Y 为 adjust.p
值。此后选中三列 p 值,并点击箭头所指地方的 Analyze 选项:
选择 Transform 并点击 OK,此后选择转变 Y 值,选择 y = -1*Log(Y) :
上述步骤也可以在 R 或 Python 的处理中完成,这里就展示下如何用 Prism 进行数据转换。
此后就能看见生成了一个新的表格和对应的图,点进图中可以看到它是这个样子:
到这里,一个初步的火山图雏形就已经产生,点击上方的 Format axes
进行进一步的润色:
在这里我就直接展示我在各个部分修改的参数:
y 轴设范围 -0.2 是因为避免等一下修改点大小后点挤出框外,更改完后整体效果应该如下:
此后我们在对点进行一些润色,同样直接以图的形式展现步骤:
点的大小可以选 2 也可以选 3,看个人的喜好而定。
最后,再修改下标签的名称和各标题,火山图诞生:
到这里使用 GraphPad Prism 绘制火山图的分享就结束了,还可以基于这些功能进行进阶应用。
例如可以用 Prism 展示各类基因的差异表达情况:
题外话
Prism 除了火山图以外还有非常多的图形可以绘制,其本身也自带了许多相关的统计算法。
此外我个人感觉 Prism 画出的图很有科研风格,这可能也是它经常出现在各个文章的原因之一。
如果想在 R 中画出相似风格的图片,可以安装 ggprism
包,该包是一款主题,可以将 ggplot2 的图变成类似 Prism 的样式。